package clases;

import java.util.*;

public class Camara {
    private boolean transmitiendo;
    private static int numVehiculos = 0;
    private Map <Vehiculo,Date> mapa = new HashMap<>();
    private ArrayList<Vehiculo> listaCochesTotales = new ArrayList<>();
    private Date fecha;

    public Date getFecha() {
        return fecha = new Date();
    }
    
    public Camara() {
        this.transmitiendo = true;
    }
    
    public Camara(ArrayList<Vehiculo> listaVehiculos){
        this();
        this.listaCochesTotales = listaVehiculos;
    }
    
    public void actualizarListaVehiculos(ArrayList<Vehiculo> listaVehiculos){
        for (Vehiculo vh : listaVehiculos){
            if (!listaCochesTotales.contains(vh))
                listaCochesTotales.add(vh);
        }
    }

    public static int getNumVehiculos() {
        return numVehiculos;
    }

    public boolean isTransmitiendo() {
        return transmitiendo;
    }

    public void setTransmitiendo(boolean transmitiendo) {
        this.transmitiendo = transmitiendo;
    }
    
    public void detectarCoche(Vehiculo c){
        listaCochesTotales.add(c);
        mapa.put(c, getFecha());
        setTransmitiendo(true);
    }
    
    public void detectarCoche2(Vehiculo c){
        mapa.put(c, getFecha());
        setTransmitiendo(true);
    }

    public Map<Vehiculo, Date> getMapa() {
        return mapa;
    }
    
    public Vehiculo comprobarVehiculoEnListaStatica(String matricula){
        Vehiculo vh = null;
        for (Vehiculo v:listaCochesTotales)
            if (v.getMatricula().equals(matricula))
                vh = v;
        return vh;
    }
    
    public void limpiarLista(){
        mapa.clear();
    }
}
